<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://ns.hr-xml.org/2007-04-15" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ns.hr-xml.org/2007-04-15" elementFormDefault="qualified" version="2007-04-15">
	<xsd:annotation>
		<xsd:documentation>
"Copyright  The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
Status: Recommendation
Date this version: 2007-04-15
Purpose: Defines transaction between ATS and HRMS.

Note: This schema utilizes dependent schemas relating to BackgroundChecking (ScreeningReportType) and Assessments (AssessmentResultType).  These types have been documented in separate specifications for different xml transactions and reused herein.  While these data types are included explicitly in the content models of this schema, there are some consequences to consider.  The included types could also be used as attachments as opposed to inclusion explicitly (sub-document).  In this case, or in the case where they are not needed in a transaction at all, implementers who use the xml schema to generate code automatically can remove those types from the schema and significantly reduce the resulting number of classes generated by a tool.  The types are used in the elements AssessmentResult (AssessmentResultType) and BackgroundCheckResults (ScreeningReportType).
At the time of this specification's creation, these dependent types where considered so integral to the data model of a NewHire that the content models for these sub-documents were explicitly reused within these optional elements.

Terms of license can be found in license.txt.

2006-03-08: Chuck Allen 
   Named anonymous type for within ReferenceInfo element to
   NewHireReferenceInfoType. Added locally scoped elements SearchCriteriaId and
   SearchResultId (both of type EntityIdType). For simplicity, did not include 
   SearchTypes.xsd, which defines SearchCriteriaInfo and SearchResultInfo the 
   presumed targets for these Id references.

</xsd:documentation>
	</xsd:annotation>
	<xsd:include schemaLocation="../CPO/PersonName.xsd"/>
	<xsd:include schemaLocation="../CPO/PostalAddress.xsd"/>
	<xsd:include schemaLocation="../CPO/PersonDescriptors.xsd"/>
	<xsd:include schemaLocation="../CPO/EducationHistory.xsd"/>
	<xsd:include schemaLocation="../CPO/EmploymentHistory.xsd"/>
	<xsd:include schemaLocation="../CPO/EntityIdType.xsd"/>
	<xsd:include schemaLocation="../Assessment/AssessmentResult.xsd"/>
	<xsd:include schemaLocation="../CPO/Competencies.xsd"/>
	<xsd:include schemaLocation="../CPO/SupportingMaterials.xsd"/>
	<xsd:include schemaLocation="../CPO/WorkSite.xsd"/>
	<xsd:include schemaLocation="../CPO/Organization.xsd"/>
	<xsd:include schemaLocation="../CPO/Frequencies.xsd"/>
	<!--	<xsd:include schemaLocation="../Screening/US/BackgroundReports.xsd"/>-->
	<xsd:include schemaLocation="../SEP/MatchingTypes.xsd"/>
	<xsd:include schemaLocation="../SEP/PrehireRemunerationPackage.xsd"/>
	<xsd:include schemaLocation="../SIDES/ContactInfo.xsd"/>
	<xsd:include schemaLocation="../Indicative/EmployeeInfoTypes.xsd"/>
	<xsd:element name="NewHire" type="NewHireType"/>
	<xsd:complexType name="NewHireType">
		<xsd:sequence>
			<xsd:element name="TypeOfHire" type="TypeOfHireType"/>
			<xsd:element name="EmployeeInfo">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="PersonName" type="PersonNameType"/>
						<xsd:element name="ApplicantId" type="EntityIdType" minOccurs="0"/>
						<xsd:element name="EmployeeId" type="EntityIdType" minOccurs="0"/>
						<xsd:element name="FormerEmployeeId" type="EntityIdType" minOccurs="0" maxOccurs="unbounded"/>
						<xsd:element name="ContactMethod" type="ContactMethodType" minOccurs="0" maxOccurs="unbounded"/>
						<xsd:element name="EmergencyContact" type="ContactInfoType" minOccurs="0" maxOccurs="unbounded"/>
						<xsd:element name="PersonDescriptors" type="PersonDescriptorsType" minOccurs="0"/>
						<xsd:element ref="Competency" minOccurs="0" maxOccurs="unbounded"/>
						<xsd:element name="EducationHistory" type="EducationHistoryType" minOccurs="0"/>
						<xsd:element name="EmploymentHistory" type="EmploymentHistoryType" minOccurs="0"/>
						<xsd:element name="Association" minOccurs="0" maxOccurs="unbounded">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:extension base="AssociationType">
										<xsd:sequence>
											<xsd:element name="OrganizationId" type="EntityIdType"/>
										</xsd:sequence>
									</xsd:extension>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="ApplicationInfo">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="ApplicationHistory" minOccurs="0">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="HiringProcessActivity" type="ActivityType" maxOccurs="unbounded"/>
									<xsd:element name="Comments" type="xsd:string" minOccurs="0"/>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="ScreeningResults" minOccurs="0">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="AssessmentResult" type="AssessmentResultType" minOccurs="0" maxOccurs="unbounded"/>
									<!--				<xsd:element name="BackgroundCheckResults" type="ScreeningReportType" minOccurs="0" maxOccurs="unbounded"/>-->
									<xsd:element name="MedicalResults" type="xsd:string" minOccurs="0"/>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="TaxCreditInfo" minOccurs="0" maxOccurs="unbounded" type="TaxCreditInfoType"/>
						<xsd:element name="WorkEligibilityInfo" minOccurs="0" maxOccurs="unbounded">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="FormId" type="EntityIdType" minOccurs="0"/>
									<xsd:element name="DocumentId" type="EntityIdType" minOccurs="0"/>
									<xsd:element name="DocumentName" type="xsd:string" minOccurs="0"/>
									<xsd:element name="VerificationInfo" minOccurs="0">
										<xsd:complexType>
											<xsd:sequence>
												<xsd:element name="OrganizationName" type="xsd:string" minOccurs="0"/>
												<xsd:element name="Status" type="xsd:string" minOccurs="0"/>
												<xsd:element name="Date" type="LocalDateType" minOccurs="0"/>
												<xsd:element ref="PersonName" minOccurs="0"/>
												<xsd:element name="PersonId" type="EntityIdType" minOccurs="0"/>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="IssuingAuthority" type="xsd:string" minOccurs="0"/>
									<xsd:element name="IsDocumentSignedByCandidate" type="xsd:boolean" minOccurs="0"/>
									<xsd:element ref="SupportingMaterials" minOccurs="0" maxOccurs="unbounded"/>
									<xsd:element name="Comments" type="xsd:string" minOccurs="0"/>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="CandidateSupplier" type="SupplierType" minOccurs="0" maxOccurs="unbounded"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="PositionInfo" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="ReferenceInfo" type="NewHireReferenceInfoType"/>
						<xsd:element name="OfferInfo">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="NegotiatedPositionTitle" type="xsd:string" minOccurs="0"/>
									<xsd:element name="NegotiatedPositionDescription" type="xsd:string" minOccurs="0"/>
									<xsd:element name="OfferMade" minOccurs="0">
										<xsd:complexType>
											<xsd:sequence>
												<xsd:element name="OfferedBy" minOccurs="0">
													<xsd:complexType>
														<xsd:sequence>
															<xsd:element ref="PersonName" minOccurs="0"/>
															<xsd:element name="PersonId" type="EntityIdType" minOccurs="0"/>
														</xsd:sequence>
													</xsd:complexType>
												</xsd:element>
												<xsd:element name="OfferedOnDate" type="LocalDateType" minOccurs="0"/>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="DateJobAccepted" type="LocalDateType" minOccurs="0"/>
									<xsd:element name="EmploymentStartDate" type="LocalDateType"/>
									<xsd:element name="ExpectedEndDate" type="LocalDateType" minOccurs="0"/>
									<xsd:element name="FirstDayToWork" type="AnyDateTimeType" minOccurs="0"/>
									<xsd:element name="RemunerationInfo">
										<xsd:complexType>
											<xsd:sequence>
												<xsd:element name="BasePay" minOccurs="0">
													<xsd:complexType>
														<xsd:simpleContent>
															<xsd:extension base="xsd:decimal">
																<xsd:attribute name="currencyCode" type="CurrencyCodeType"/>
																<xsd:attribute name="baseInterval" type="FrequencyType"/>
															</xsd:extension>
														</xsd:simpleContent>
													</xsd:complexType>
												</xsd:element>
												<xsd:element name="OtherPay" minOccurs="0" maxOccurs="unbounded">
													<xsd:complexType>
														<xsd:simpleContent>
															<xsd:extension base="xsd:decimal">
																<xsd:attribute name="currencyCode" type="CurrencyCodeType"/>
																<xsd:attribute name="baseInterval" type="FrequencyType"/>
																<xsd:attribute name="type" type="OtherPayTypeTypes"/>
															</xsd:extension>
														</xsd:simpleContent>
													</xsd:complexType>
												</xsd:element>
												<xsd:element name="Benefits" type="BenefitsType" minOccurs="0"/>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="Shift" type="WorkShiftScheduleType" minOccurs="0" maxOccurs="unbounded"/>
									<xsd:element name="EmploymentLevel" type="EmploymentLevelEnumType" minOccurs="0"/>
									<xsd:element name="ResourceRelationship" type="ResourceRelationshipEnumType" minOccurs="0"/>
									<xsd:element name="EmploymentTerm" type="EmploymentTermType" minOccurs="0"/>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="OrganizationalUnit" type="OrganizationalUnitType" minOccurs="0" maxOccurs="unbounded"/>
						<xsd:element name="ManagerInfo" minOccurs="0" maxOccurs="unbounded">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="ContactInfo" type="ContactInfoType" minOccurs="0"/>
									<xsd:element name="ManagerId" type="EntityIdType" minOccurs="0"/>
								</xsd:sequence>
								<xsd:attribute name="role" type="xsd:string"/>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="MultipleJobIndicator" type="xsd:boolean" minOccurs="0"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element ref="SupportingMaterials" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="UserArea" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ActivityType">
		<xsd:sequence>
			<xsd:element name="Type" type="xsd:string"/>
			<xsd:element name="ActivityPerformer" minOccurs="0" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="PersonName" type="PersonNameType" minOccurs="0"/>
						<xsd:element name="PersonId" type="EntityIdType" minOccurs="0"/>
						<xsd:element name="Role" type="xsd:string" minOccurs="0"/>
						<xsd:element name="Comments" type="xsd:string" minOccurs="0"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Date" type="AnyDateTimeType" minOccurs="0"/>
			<xsd:element name="ActivityResults" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="TypeOfHireType">
		<xsd:choice>
			<xsd:element name="StandardValue" type="TypeOfHireEnumType" minOccurs="0"/>
			<xsd:element name="NonStandardValue" type="xsd:string" minOccurs="0"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="NewHireReferenceInfoType">
		<xsd:sequence>
			<xsd:element name="RequisitionId" type="EntityIdType" minOccurs="0"/>
			<xsd:element name="OrderId" type="EntityIdType" minOccurs="0"/>
			<xsd:element name="PositionId" type="EntityIdType" minOccurs="0"/>
			<xsd:element name="JobId" type="EntityIdType" minOccurs="0"/>
			<xsd:element name="OtherId" type="EntityIdType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="SearchCriteriaId" type="EntityIdType" minOccurs="0"/>
			<xsd:element name="SeachResultId" type="EntityIdType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="TaxCreditInfoType">
								<xsd:sequence>
									<xsd:element name="Jurisdiction" type="xsd:string"/>
									<xsd:element name="IsApplicable" type="xsd:boolean"/>
									<xsd:element name="TaxProgram" type="xsd:string" minOccurs="0"/>
									<xsd:element name="Amount" minOccurs="0" maxOccurs="unbounded">
										<xsd:complexType>
											<xsd:simpleContent>
												<xsd:extension base="xsd:string">
													<xsd:attribute name="currencyCode" type="CurrencyCodeType"/>
												</xsd:extension>
											</xsd:simpleContent>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
								</xsd:sequence>
								<xsd:attribute name="countryCode" type="CountryCodeType"/>
							</xsd:complexType>
	<xsd:simpleType name="TypeOfHireEnumType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="NewHire"/>
			<xsd:enumeration value="Rehire"/>
			<xsd:enumeration value="Transfer"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>
